package oj;

import java.util.Arrays;

public class LC31 {
    public void nextPermutation(int[] nums) {
        if(nums==null) return;
        int i=-1;
        int j=-1;
            for(int m=nums.length-2;m>=0;m--){
                if(nums[m]<nums[m+1]){
                    i=m;
                    j=m+1;
                    break;
                }
            }
        if(i==-1 && j==-1){
            Arrays.sort(nums);
            return;
        }
        int k=0;
        for(int m=nums.length-1;m>=j;m--){
            if(nums[m]>nums[i]){
                k=m;
                break;
            }
        }
        int tmp=nums[i];
        nums[i]=nums[k];
        nums[k]=tmp;
        Arrays.sort(nums,j,nums.length);
    }

}
